Skip to content

build(polars): migrate to crates.io 0.54.4, drop git rev pin#378

Merged
githubrobbi merged 8 commits into
mainfrom
chore/polars-cratesio-migration
Jun 9, 2026
Merged

build(polars): migrate to crates.io 0.54.4, drop git rev pin#378
githubrobbi merged 8 commits into
mainfrom
chore/polars-cratesio-migration

Conversation

@githubrobbi

Copy link
Copy Markdown
Collaborator

build(polars): migrate to crates.io 0.54.4, drop git rev pin

Replaces the pinned pola-rs/polars git rev with a plain crates.io SemVer dependency on polars 0.54.4.

Changes

  • Polars 0.54.4 from crates.io (was git rev 0.53.0)
  • Feature: new_streaming → streaming
  • API: with_new_streaming → with_streaming
  • API: &ChunkedArray::into_iter() → iter()
  • Retired update_polars_git() and STEP_UPDATE_POLARS
  • Retired just polars HEAD-bump recipe
  • deny.toml allow-git cleared
  • Delta audits added for all Polars crates

Verification

  • cargo check: ✅
  • cargo clippy: ✅ (0 warnings)
  • cargo nextest: ✅ (1998 passed)
  • All commits passed lint-fast

Impact

Unblocks R5/R6/R8 release automation.

Replace the pinned pola-rs/polars git rev (0.53.0) with a plain crates.io
SemVer dependency on polars 0.54.4. Polars 0.54.x ships the nightly
std::simd / core::unicode patches the git rev carried and accepts modern
chrono (workspace resolves 0.4.45), so the git source is no longer needed.

Renames the 0.54 streaming feature (was new_streaming). Regenerates the
lockfile to a registry source (zero git sources remain).

Unblocks crates.io publishability (release-automation-plan deviation row 5).
Two breaking changes in polars 0.54:

- LazyFrame::with_new_streaming was renamed to with_streaming.
- &ChunkedArray no longer implements IntoIterator; replace .into_iter()
  with .iter() (same Option<T> item type) across uffs-core and uffs-diag
  iteration sites.

No behavioural change; verified by cargo nextest (1998 passed).
Polars is now a crates.io SemVer dependency, so there is no main HEAD to
chase. Remove update_polars_git() + the STEP_UPDATE_POLARS ship step
(scripts/ci-pipeline) and replace the 'just polars' git-HEAD bump recipe
with a crates.io SemVer bump. Ship-pipeline step numbering is preserved,
matching the existing 08/09 retirement convention.
Polars no longer comes from git (crates.io now), so the allow-git
allowlist is empty. The file is also reflowed to taplo's 2-space style
(it predated taplo enforcement, which is staged-scoped and so never
caught it until this edit re-touched the file).
Add an §8.1 deviations-log row documenting that crates.io polars 0.54.4
removes the git-rev / chrono blocker, unblocking R5/R6/R8 publishability.
Mark the stale 'keep update_polars_git()' R5 note as removed and update
the dependency-policy rationale to reference the crates.io dependency.
@githubrobbi githubrobbi enabled auto-merge (squash) June 9, 2026 20:44
…ration

Vet-Reviewed-Diff: polars@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-arrow@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-async@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-buffer@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-compute@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-config@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-core@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-dtype@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-error@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-expr@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-io@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-json@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-lazy@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-mem-engine@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-ooc@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-ops@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-parquet@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-plan@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-row@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-schema@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-sql@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-stream@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-time@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
Vet-Reviewed-Diff: polars-utils@0.53.0@git:1e9a63b95923291cd8849d70d96b8cec4e96da6a->0.54.4
@githubrobbi githubrobbi force-pushed the chore/polars-cratesio-migration branch from 34deaab to 206c134 Compare June 9, 2026 20:52
@githubrobbi githubrobbi merged commit 9964450 into main Jun 9, 2026
28 checks passed
@githubrobbi githubrobbi deleted the chore/polars-cratesio-migration branch June 9, 2026 21:11
githubrobbi added a commit that referenced this pull request Jun 12, 2026
…tted dep bumps (#394)

* docs(engine): refresh 09-performance with v0.5.120 benchmark data

- Promote the all-7-drives full-scan export capture to its own table
  (23,322,046 rows -> CSV in 11.98 s, ~1.95 M rec/s; per-drive peaks
  2.29 M rec/s), with the 4-drive cross-tool combined cell as the
  consistency check.
- Mark the v0.5.62 aggregate full-scan row (13.5 s) superseded; note
  COLD/WARM + aggregation are unchanged since v0.5.62.
- Add the v0.5.120 interactive-latency capture: targeted patterns
  17-96 ms CLI e2e, spawn+pipe floor now 17-18 ms (was ~28 ms);
  daemon-side 0-3 ms figures remain v0.5.66 (not re-instrumented).
- Tag the v0.5.4 bulk-retrieval tier sweep historical and point to
  the current ~1.95 M rows/s export numbers (~6x the old 323k peak).
- Fix warm-restart bullet to the latest 5.7 s (v0.5.62) measurement.
- Bump doc footer to v3.1 / 2026-06-11 / UFFS 0.5.120.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(engine): deep v0.5.120 verification pass on 09 + 11 performance docs

09-performance.md: add v0.5.120 targeted-latency data to Known
Optimization Targets (17-96 ms e2e, 17-18 ms spawn floor; top-N shape
explicitly not re-measured).

11-performance-deep-dive.md:
- Caching-levels table + HOT paragraphs: add v0.5.120 targeted CLI
  figures and the 17-18 ms spawn floor (was ~28 ms on v0.5.66).
- 'Real-World Benchmarks' callout: lead with v0.5.120 headlines
  (30/30 vs Everything at 0.36x median; 23.3 M rows -> CSV in 11.98 s
  at ~1.95 M rec/s); tag aggregations/WARM/RSS as v0.5.62-latest.
- Fix internal contradiction: the HOT top-N shape WAS re-run on
  v0.5.66 (table in this doc); v0.5.120 measures file-sink cross-tool
  cells instead.
- Bulk-retrieval tier sweep tagged v0.5.4 historical with pointer to
  current ~1.95 M rows/s (S: 25.6 s -> 3.83 s).
- Daemon-HOT vs C++ section: add the v0.5.120 re-measurement summary
  (5/5 full-scan 4.9x-13.9x, 6.6x combined, 180x-3447x targeted,
  combined regex DNF >120 s) pointing at the canonical report; keep
  the v0.5.66 sub-phase walkthrough.
- Footer bumped to 2026-06-11 / v0.5.120.

All figures cross-checked against raw/2026-06-v0.5.120_*.csv; all
relative links verified to resolve.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* docs(manual): deep v0.5.120 verification pass on performance page

- §7 Bulk Retrieval: add the v0.5.120 all-7-drives full-scan export
  table (23.3 M rows -> CSV in 11.98 s, ~1.95 M rows/s; S: drive
  25.6 s -> 3.83 s, ~6x); tag the v0.5.4 tier sweep + pipe-vs-file
  tables historical.
- §5a: fix internal contradiction — the floor note claimed ~28 ms
  under a v0.5.120 table whose small-result cells read 19-20 ms; the
  v0.5.120 floor is 17-18 ms (G-drive empty-result cells), ~28 ms was
  the v0.5.66 figure.
- §2 diagram, §3 blockquote, §6 export-throughput note, §1 version
  row: refresh to v0.5.120 (17 ms CLI floor; 1.95 M rec/s export,
  1.72 was v0.5.66).

All figures cross-checked against raw/2026-06-v0.5.120_*.csv; all
relative links verified to resolve.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* build(deps): bump regex 1.12.4, memchr 2.8.2, which 8.0.3 — fully vetted

Dependency patch bumps with real cargo-vet diff audits (no exemption
rubber-stamps):

- which 8.0.2 -> 8.0.3: only code change is a cfg-gated fallback
  is_valid_executable returning Ok(false) on non-unix/windows/wasi/
  redox targets; no unsafe, no new capabilities.
- regex 1.12.3 -> 1.12.4: no source changes in the regex crate itself
  (changelog + metadata + regex-syntax requirement 0.8.5 -> 0.8.11).
- regex-syntax 0.8.10 -> 0.8.11: IntervalSet::push rewritten to
  binary_search + local union + splice (upstream PR rust-lang/regex
  #1308); all safe Rust, bounds-checked, invariants preserved.
- memchr 2.8.1 -> 2.8.2: already covered by existing audit imports.

Also repairs cargo-vet policy drift surfaced by the check:
- Drop stale audit-as-crates-io entries for the 23 polars-* crates
  (needed for the old git pin; polars is plain crates.io 0.54.4 since
  #378).
- Add audit-as-crates-io = false for the 19 first-party uffs-*
  workspace crates, whose versions now match crates.io after the
  0.5.120 publishes — we develop them here, so they must not be
  audited as registry packages.

cargo vet check: clean (149 fully audited, 21 partially, 345 exempted).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant